package com.leesche.zcsp.node.web.service.impl;

import com.leesche.zcsp.node.web.dao.PubDevUpdateFirmWareDao;
import com.leesche.zcsp.node.web.model.PubDevUpdateFirmWare;
import com.leesche.zcsp.node.web.model.PubDevUpdateFirmWareCriteria;
import com.leesche.zcsp.node.web.service.PubDevUpdateFirmWareService;
import com.leesche.zcsp.node.web.service.impl.data.read.PubDevUpdateFirmWareDto;
import com.leesche.zcsp.node.web.service.impl.data.read.QueryPubDevUpdateFirmWareCondition;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2017-02-10.
 */

@Service
@Transactional
public class PubDevUpdateFirmWareServiceImpl extends
        BaseServiceImpl<PubDevUpdateFirmWare, PubDevUpdateFirmWareCriteria, PubDevUpdateFirmWareDto, QueryPubDevUpdateFirmWareCondition, Long>
        implements PubDevUpdateFirmWareService{
    @Autowired
    private PubDevUpdateFirmWareDao pubDevUpdateFirmWareDao;

    @Autowired
    public void setBaseDao(PubDevUpdateFirmWareDao pubDevUpdateFirmWareDao) {
        super.setBaseDao(pubDevUpdateFirmWareDao);
    }

    @Override
    public int updateByConditionMap(Map map) {
        return pubDevUpdateFirmWareDao.updateByConditionMap(map);
    }

    @Override
    public List<PubDevUpdateFirmWareDto> findDeviceFirmWares(QueryPubDevUpdateFirmWareCondition condition) {
        List<PubDevUpdateFirmWareDto> list = new ArrayList<PubDevUpdateFirmWareDto>();
        for(int i=1;i<4;i++){
            condition.setFireWareType(i);
            PubDevUpdateFirmWareDto dto = pubDevUpdateFirmWareDao.selectDeviceFirmWareDto(condition);
            if(dto==null){
                dto = new PubDevUpdateFirmWareDto();
            }
            list.add(dto);
        }
        return list;
    }
}
